package com.omt.tarjimdinek.domain.member.service;

import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;

import org.apache.log4j.Logger;

import com.omt.tarjimdinek.domain.member.dao.MembreDao;
import com.omt.tarjimdinek.domain.member.dao.PaysDao;
import com.omt.tarjimdinek.domain.member.entity.Membre;
import com.omt.tarjimdinek.domain.member.entity.Pays;
import com.omt.tarjimdinek.support.GenericDao;
import com.omt.tarjimdinek.support.RepositoryImpl;

/**
 * Member manager implements
 * @author chabane
 *
 */
@Named("memberRepository")
@Singleton
public class MembreRepositoryImpl extends RepositoryImpl<Membre, Long> implements MembreRepository {

	private MembreDao membreDao; 
	
	@SuppressWarnings("unused")
	private static final Logger log = Logger.getLogger(MembreRepositoryImpl.class);

	@Inject
	public void setMembreDao(MembreDao membreDao) {
	   this.membreDao = membreDao;
	}

	/**
	  * Dao getter used by the {@link RepositoryImpl}.
	  */
	@Override
	public GenericDao<Membre, Long> getDao() {
	   return membreDao;
	}     

	/**
     * {@inheritDoc}
     */
    @Override
    public Membre getNew() {
        return new Membre();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Membre getNewWithDefaults() {
    	Membre result = getNew();
        result.initDefaultValues();
        return result;
    }

	@Override
	public void create(Membre aMembre) {
		save(aMembre);
	}
}
